#define _CRT_SECURE_NO_WARNINGS
#include<vector>
#include<iostream>
using namespace std;
//class Solution {
//public:
//    vector<int> getRow(int rowIndex) {
//        vector<vector<int>> vv(rowIndex + 1);
//        for (int i = 0; i < rowIndex + 1; ++i)
//        {
//            vv[i].resize(i + 1);
//        }
//        for (auto& ch : vv)
//        {
//            ch.front() = ch.back() = 1;
//        }
//        for (int i = 2; i < rowIndex + 1; ++i)
//        {
//            for (int j = 1; j < i; ++j)
//            {
//                vv[i][j] = vv[i - 1][j - 1] + vv[i - 1][j];
//            }
//        }
//        return vv[rowIndex];
//    }
//};
class Solution {
public:
    vector<int> getRow(int rowIndex) {
        vector<int> pre(1, 1);
        vector<int> cur;
        for (int i = 0; i <= rowIndex; ++i)
        {
            cur.resize(i + 1);
            cur[0] = cur[i] = 1;
            for (int j = 1; j < i; ++j)
            {
                cur[j] = pre[j - 1] + pre[j];
            }
            pre = cur;
        }
        return cur;
    }
};
int main()
{
    vector<int> res = Solution().getRow(3);
    for (auto& ch : res)
    {
        cout << ch << ' ';
    }
    return 0;
}